home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games 1996 July / Amiga Games 1996 #7.iso / rexx / vltele.doc < prev    next >
Text File  |  1996-03-19  |  8KB  |  248 lines

  1. Short:    Phonebook/dialer for VLT
  2. Uploader: rick@emma.panam.wimsey.com (Rick Younie)
  3. Author:   rick@emma.panam.wimsey.com (Rick Younie)
  4. Type:     comm/term
  5. Replaces: comm/term/vltele.vlt (& VLTele1p0.lha)
  6. Requires: ral3p3.lha, arp40_2.lha
  7. Version:  1.2
  8.  
  9.    VLTele is a gadget-based phonebook and dialer, in ARexx, for
  10.    VLT. It requires rexxarplib.library (ral3p3.lha) and
  11.    arp.library (arp40_2.lha). arp40_2.lha is an arp.library
  12.    replacement and only works on 2.0+ systems as it redirects
  13.    calls to their equivalent functions in the 2.0+ asl.library.
  14.  
  15. Main features:
  16.    - gadget selection of phone numbers
  17.    - on connection, all gadgets for that system are deselected
  18.    - phonebook is easily edited
  19.    - automatic name/password sending
  20.    - easy scripting
  21.  
  22.  
  23.     INDEX
  24.     -----
  25.     1. To Test
  26.     2. Installing for real
  27.     3. Usage
  28.     4. The Phonebook
  29.     5. Script Pairs
  30.     6. Control Gadgets
  31.     7. Odds and Ends
  32.     8. Disclaimer/Contact Info
  33.  
  34.  
  35. 1. To Test
  36.    -------
  37.  
  38.    To see if VLTele is something you might like, and that you
  39.    have the proper libraries and so on, you can try the
  40.    following. VLT should _not_ be running for this.
  41.  
  42.     - make sure rexxarplib.library, rexxsupport.library and
  43.       arp.library are in LIBS:
  44.     - move VLTele.phones to VLT:phonebook/
  45.     - RX VLTele.vlt
  46.  
  47.     VLTele should come up on the workbench in a few seconds.
  48.  
  49.  NOTE: Press the QUI gadget only. VLTele wants to use VLT's
  50.    message function for some other gadgets and it will get unhappy
  51.    that it's not there.
  52.  
  53.    If it doesn't come up, some possible problems are:
  54.  
  55.    - RX is not in your path. (You can find it in SYS:REXXC/).
  56.  
  57.    - ARexx isn't running and rexxmast isn't in the path (RX will
  58.    start ARexx for you, if it can find rexxmast). [To use VLTele
  59.    for real, ARexx _must_ being running or VLT won't be able to
  60.    run VLTele (or any other ARexx script). Putting
  61.    SYS:System/Rexxmast in SYS:WBSTARTUP and rebooting will start
  62.    ARexx for you.]
  63.  
  64.    - If you get the error "Error return from function", you've
  65.    got library trouble. Remember that you need arp.library
  66.    for rexxarplib.library to work. You also need to have
  67.    rexxsupport.library and rexxarplib.library in LIBS: (VLTele
  68.    will load these for you).
  69.  
  70.    If you can't get it up, I may be able to help in email.
  71.  
  72.  
  73. 2. Installing for real
  74.    -------------------
  75.  
  76.  2.1. Put these files on your system:
  77.  
  78.    VLTele.vlt            ==> VLT:rexx/
  79.    VLTele.phones         ==> VLT:phonebook/
  80.    rexxsupport.library   ==> LIBS:
  81.    rexxarplib.library    ==> LIBS:
  82.    arp.library           ==> LIBS:
  83.  
  84.  2.2. Make sure ARexx is running.
  85.  
  86.     Drag REXXMAST to SYS:WBSTARTUP and reboot.
  87.  
  88.  2.3. Do a key assignment in VLT.
  89.  
  90.    Go into Program Mode (in the first VLT drop-down menu).
  91.    Press the desired function key. Enter this in the requester:
  92.  
  93.         ~@VLTele.vlt   #Phone Book (VLTele)
  94.  
  95.    Remember to turn Program Mode off afterwards.
  96.  
  97.  
  98. 3. Usage
  99.    -----
  100.  
  101.    I start VLT and VLTele with the following alias. (Substitute
  102.    VLT for VLTjr if you're using the full version.):
  103.  
  104.         Alias VLT   "run >NIL: VLT:VLTjr +c ~@VLTele.vlt"
  105.  
  106.  
  107. 4. The Phonebook
  108.    -------------
  109.  
  110.  NOTE: don't use tabs in the phonebook.  It won't be parsed correctly.
  111.  
  112.    The phonebook is in the following format:
  113.  
  114.    # BBS Name      #Phone         #Baud #Par#Script Pairs  {[]=[]}
  115.    #               #              #     #   #          
  116.    System1         555-1234       38400 8N1 {[login:]=[yourname*R]} {[password:]=[yourpass*R]}
  117.  
  118.    The #'s in the first line tell VLTele where each field in the
  119.    phonebook starts. (If there are tabs it gets confused.  Don't
  120.    use them.)
  121.  
  122.  
  123. 5. Script Pairs
  124.    ------------
  125.    Format: {[ ]=[ ]}
  126.              ^   ^
  127.              |   |
  128.              |  second argument
  129.           first argument
  130.  
  131.     The script pairs are parsed on three 'characters': '{[',
  132.     ']=[', and ']}'. So it's ok to use {, [, = and so on,
  133.     individually, as pairs arguments.
  134.  
  135.    There are two types of script pairs:
  136.  
  137.   5.1. If the first argument is given, it is an expect/send
  138.    pair. The first argument, xxx, is quoted and sent to VLT as
  139.    the argument of a 'wait' command. The second argument is
  140.    quoted and sent as the argument of a 'send' command.
  141.  
  142.         {[xxx]=[yyy]}  translates to
  143.         wait "xxx"; send "yyy"
  144.  
  145.     e.g. {[login:]=[yourname*R]}  translates to
  146.         wait "login:";send "yourname*R"
  147.  
  148.   5.2. If there is no first argument, the second argument is sent
  149.    to VLT directly (no 'send' appended).
  150.  
  151.         {[]=[yyy]}
  152.  
  153.     e.g. {[]=[delay 3;send "*R"]}
  154.  
  155.         - tells VLT to wait 3 seconds, then send a CR
  156.  
  157.     e.g. {[]=[capture append t:cap]}
  158.  
  159.         - open a capture file
  160.  
  161.     e.g. {[]=[@script.rexx]}
  162.  
  163.         - execute the ARexx script 'script.rexx'
  164.  
  165.  NOTE: The ESC key aborts pairs matching and script file
  166.    execution. You'll want to use this if, for example, the login
  167.    fails or a script hangs. The ESC belongs to VLT so you have
  168.    to be off the VLTele window when you use it.
  169.  
  170.    If the script field has no {[]=[]} skeletons or if the field
  171.    begins with a # character, the whole field is ignored.
  172.  
  173.  
  174. 6. Control Gadgets
  175.    ---------------
  176.  
  177.     DIA CNL CON HID EDI LOA HLP QUI
  178.  
  179.     DIA - dial the phone numbers that are lit
  180.     CNL - if VLT has carrier, it hangs up; if not it causes
  181.           VLTele to stop dialing
  182.     CON - if lit, it continues to dial after the current call is
  183.           completed; if not, the current call is the last one
  184.     HID - hides VLTele -- that is it closes VLTele's gadget window.
  185.           VLTele stays in memory and can be popped up by sending it
  186.           a message -- see Odds and Ends below.
  187.     EDI - edit the phonebook.  The default editor is Ed, the editor
  188.           that comes with the system software.  You can change this
  189.           in the program.  The editor must be set to cling to the cli.
  190.     LOA - brings up a requester so you can load another phonebook
  191.     HLP - shows this information in a message window on VLT
  192.     QUI - causes VLT to quit; removes it completely.  You have to
  193.           quit VLTele before VLT can go away.
  194.  
  195.     Use ESC key (with cursor off VLTele window) to abort hung scripts.
  196.  
  197.  
  198. 7. Odds and Ends
  199.    -------------
  200.  
  201.    VLTele opens a message port (VLTELE) and stays in memory,
  202.    sitting on a waitpkt() waiting for something to do. This
  203.    costs almost nothing in terms of cpu cycles. The only real
  204.    cost is the memory that VLTele takes up. When it appears to
  205.    come in and out, it is just the gadget window opening and
  206.    closing.
  207.  
  208.    The ~@VLTele.vlt function key assignment mentioned in 2.3
  209.    starts a second copy of VLTele. This second copy sees that
  210.    another copy is already running, sends it a POPUP command and
  211.    then exits. A more elegant way to popup the gadget window is
  212.    to send VLTele's port a POPUP message directly. You can do
  213.    this by assigning the following to a VLT function key (see
  214.    2.3):  ~RX "address VLTELE POPUP
  215.  
  216.    The VLTele window re-opens after a call by setting a trap for
  217.    "NO CARRIER". If you use an Amiga-h VLT hangup, the trap
  218.    doesn't trip and you will have to send the popup message
  219.    described above. A way to do both a hangup and popup together
  220.    is:  ~RX "address VLTELE POPUP;hangup
  221.  
  222.     VLT won't go away while any scripts it started are still
  223.     running. So you'll have to QUI VLTele and abort any hung
  224.     scripts before telling VLT to quit.
  225.  
  226.  
  227. 8. Disclaimer/Contact Info
  228.    -----------------------
  229.  
  230.    Disclaimer: It works ok for me.
  231.  
  232.  Please drop me a note if you like it, or don't like it:
  233.  
  234.    rick@emma.panam.wimsey.com -or-
  235.    rick@vcn.bc.ca
  236.  
  237.  
  238.  
  239. Changes:
  240. -------
  241. 6-Mar-96
  242.  
  243.    Made the trap handling more robust. The next `wait' string
  244.    is sent to VLT with the current `send' string as one message.
  245.    So a bogged system doesn't mean a missed wait. (I got this
  246.    right in the first version but simplified it and wrecked it in
  247.    v1.1.)
  248.